/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import MYSQLConection.OperacionesDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.Antecedente;

/**
 *
 * @author Adrian
 */
public class DaoAntecedente {
    private static DaoAntecedente instance;

    private DaoAntecedente() {
    }

    public static DaoAntecedente getInstance() {
        if (instance == null) {
            return instance = new DaoAntecedente();
        }
        return instance;
    }
    
     public boolean NuevoAntecedente(String cedula,int numero,String nombreEnfermedad,String tipoEnfermedad,String estadoEnfermedad,String fechaInicio) throws SQLException{
        OperacionesDB db = new OperacionesDB();
       String query="insert into antecedentes values('"+cedula+"',"+numero+","+"'"+nombreEnfermedad+"',"+"'"+tipoEnfermedad+"',"+"'"+estadoEnfermedad+"',"+"'"+fechaInicio+"')";
       if(db.ingreso(query))
       {
          return true; 
       }
       else
       {
           return false;
       }
    }
     public void Modificar(String cedula,int numero,String nombreEnfermedad,String tipoEnfermedad,String estadoEnfermedad,String fechaInicio) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       String query = "UPDATE antecedentes SET nombreEnfermedad='"+nombreEnfermedad+"',tipoEnfermedad='"+tipoEnfermedad+"',estadoEnfermedad='"+estadoEnfermedad+"',fechaInicio='"+fechaInicio+"' where cedula='"+cedula+"' and numero="+numero;
       db.modificacioneliminacion(query);
       db.cerrarConexion();
        
    }
          public void Eliminar(String cedula,int numero) throws SQLException
    {
         
        OperacionesDB db = new OperacionesDB();
      String query1 = "delete from antecedentes where cedula='"+cedula+"' and numero="+numero;
       db.modificacioneliminacion(query1);
       db.cerrarConexion(); 
       
        
        
    }
          
      public ArrayList<Antecedente> listar(String cedula) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
       ArrayList<Antecedente> antecedentes=new ArrayList();
         String query = "select * from antecedentes where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        Antecedente acc=null; 

        while (resultado.next()) {
           int numero=Integer.parseInt(resultado.getString(2));
           acc = new Antecedente(numero,resultado.getString(3),resultado.getString(4),resultado.getString(5),resultado.getString(6));
            antecedentes.add(acc);
        }
         db.cerrarConexion();
        
        return antecedentes;
        
    }
public int numeroAccidente(String cedula,int opc) throws SQLException
    {
        if(opc==1)
        {
          return 0;  
        }
        else
        {
        OperacionesDB db = new OperacionesDB();
      
        String query = "select MAX(numero) from antecedentes where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        int numero=0;
        
        while (resultado.next()) {
            numero=Integer.parseInt(resultado.getString(1));
           
        }
        
        return numero; 
        
        
        }
    }
 public int lista(String cedula) throws SQLException
    {
       OperacionesDB db = new OperacionesDB();
      
         String query = "select * from antecedentes where cedula='"+cedula+"'";
        ResultSet resultado = db.seleccion(query);
        
        int cont=0;
        while (resultado.next()) {
           cont++;
        }
         db.cerrarConexion();
        
        return cont;
        
    }
 
}
